package com.example.forum.controller;

import com.example.forum.common.AppResult;
import com.example.forum.exception.ApplicationException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Api(tags = "测试类的相关接口")
@Controller
@RequestMapping("/test")
public class TestController {

    @ApiOperation("测试接口1,显示抛出的 Exception ") //接口接收哪些参数
    @GetMapping("/exception")
    public AppResult testException() throws Exception {
        throw new Exception("这是一个Exception测试");
    }

    @ApiOperation("测试接口2,显示抛出的一个自定义异常: ApplicationException ")
    @GetMapping("/ApplicationException")
    public AppResult testApplicationException()  {
        throw new ApplicationException("这是一个ApplicationException测试");
    }

    @ApiOperation("测试接口3,被接收的信息是一个姓名信息")
    @RequestMapping("/getName")
    public String getName(@ApiParam("要传入的姓名") @RequestParam("name") String name){
        //@ApiPara: 描述参数是一个姓名
        return "name : "+name;
    }
}
